package main
import (
	"fmt"
)
//面向对象编程——继承
//多继承情况

type Good struct{
	Name string
	Price float64
}
type Brand struct{
	Name string
	Address string
}
type TV struct{
	Good
	Brand
}
type TV2 struct{ //也可用指针类型
	*Good
	*Brand
}
//嵌套匿名结构体后，也可以在创建结构体变量（实例）的时候直接指定各个匿名结构体字段的值。
func main(){
	tv := TV{Good{"电视机",3000},Brand{"小米","深圳~"}}
	fmt.Println("TV : ",tv)
	tv = TV{
		Good{
			Name : "电视机",
			Price : 2000,
		},
		Brand{
			Name : "美的",
			Address : "北京",
		},
	}
	fmt.Println("TV : ",tv)

	tv2 := TV2{&Good{"电视机",1200},&Brand{"海尔","东莞"}}
	fmt.Println("TV2 : ",*tv2.Good,"\t",*tv2.Brand)  //这样才能准确拿到值 *tv2.Good   . > * 
	
}

